/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package bs.facturacion.modelo;

import bs.global.modelo.Auditoria;
import bs.global.modelo.Comprobante;
import bs.stock.modelo.ComprobanteStock;
import bs.stock.modelo.Deposito;
import bs.stock.modelo.Producto;
import bs.stock.modelo.TipoProducto;
import bs.tesoreria.modelo.ComprobanteTesoreria;
import bs.ventas.modelo.ComprobanteVenta;
import java.io.Serializable;
import java.util.List;
import javax.persistence.Basic;
import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Embedded;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.Id;
import javax.persistence.IdClass;
import javax.persistence.JoinColumn;
import javax.persistence.Lob;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.Table;
import javax.persistence.Transient;

/**
 *
 * @author Claudio
 */
@Entity
@Table(name = "fc_circuito")
@IdClass(CircuitoFacturacionPK.class)
public class CircuitoFacturacion implements Serializable {
    private static final long serialVersionUID = 1L;
        
    @Id
    @Column(name = "CIRCOM", nullable = false, length = 6)
    private String circom;
    @Id
    @Column(name = "CIRAPL", nullable = false, length = 6)
    private String cirapl;

    /**
     * Circuito de inicio
     */
    @JoinColumn(name = "CIRCOM", referencedColumnName = "CODIGO", nullable = false,insertable=false, updatable=false)
    @ManyToOne(fetch = FetchType.LAZY)
    private CodigoCircuitoFacturacion circuitoComienzo;

    /**
     * Circuito a aplicar
     */
    @JoinColumn(name = "CIRAPL", referencedColumnName = "CODIGO", nullable = false,insertable=false, updatable=false)
    @ManyToOne(fetch = FetchType.LAZY)
    private CodigoCircuitoFacturacion circuitoAplicacion;


    @Basic(optional = false)
    @Column(name = "DESCRP", nullable = false, length = 60)
    private String descripcion;
    @Basic(optional = false)
    @Column(name = "ACTZFC", nullable = false,length = 1)
    private String actualizaFacturacion;
    @Basic(optional = false)
    @Column(name = "ACTZST", nullable = false,length = 1)
    private String actualizaStock;
    @Basic(optional = false)
    @Column(name = "ACTZVT", nullable = false,length = 1)
    private String actualizaVenta;
    @Basic(optional = false)
    @Column(name = "ACTZCJ", nullable = false,length = 1)
    private String actualizaTesoreria;
    
    @Column(name = "ANULAC",length = 1)
    private String esAnulacion;
    
    @Column(name = "PRCTOT", nullable = false, length =1)
    private String procesoTotal;
    
    @Column(name = "PRCOPC", length = 1)
    private String procesoTotalOpcional;
    
    //Verifica Recuperación de ítems de un único comprobante	
    @Column(name = "ITMUNI", nullable = false)
    private String verificaItemsUnicoComprobante;
    
    @Column(name = "NCAPEN", length = 1)
    private String noCancelaPendiente;
    
    @Basic(optional = false)
    @Column(name = "COMPST", nullable = false, length = 1)
    private String comprometeStock;
    
    @Column(name = "ADMDEP",length = 1)
    private String admiteMultipleDeposito;
    @Column(name = "ADMSEC",length = 1)
    private String admiteMultipleSector;
    
    @Column(name = "REPGRP", length = 30)
    private String reportePendienteGrupo;
    @Column(name = "REPDET", length = 30)
    private String reportePendienteDetalle;
    

    @JoinColumn(name = "DEPDEF", referencedColumnName = "CODIGO")
    @ManyToOne(fetch = FetchType.LAZY)
    private Deposito depositoFijo;
    
    @Column(name = "LIMCRD", length = 1)
    private String controlaLimiteCredito;
        
    //Avisa o para
    @Column(name = "LIMACC", length = 1)
    private String accionExcesoLimiteCrdito;

    
    @JoinColumn(name = "TIPUNI", referencedColumnName = "TIPPRO")
    @ManyToOne(optional=false,fetch=FetchType.LAZY)
    private TipoProducto tipoProductoUnico;
    
    @JoinColumn(name = "PRDUNI", referencedColumnName = "CODIGO", nullable = false)    
    @ManyToOne(optional=false, fetch = FetchType.LAZY)
    private Producto productoUnico;
    
    
    @Column(name = "EDICPT", length = 1)
    private String editaConcepto;
    @Column(name = "EDIIMP",length = 1)
    private String editaImporte;
    @Column(name = "EDIBON",length = 1)
    private String editaBonificacion;
    @Column(name = "EDICAN",length = 1)
    private String editarCantidad;
    @Column(name = "EDIFAC",length = 1)
    private String edifac;
    @Column(name = "EDICOF", length = 1)
    private String editaCoeficientes;
    @Column(name = "EDIFRK", length = 1)
    private String editaFormulaDeKit;
    @Column(name = "EDILPR", length = 1)
    private String editaListaPrecio;
    @Column(name = "EDIGRU", length = 1)
    private String editaGrupoBonificacion;    
    @Column(name = "EDIPAG")
    private String editaCondicionPago;
    
    @Column(name = "AGREGA", length = 1)
    private String permiteAgregarItems;
    
    @Column(name = "PRIMER", length = 1)
    private String esPrimerPaso;
    @Column(name = "ULTIMO", length = 1)
    private String esUltimoPaso;
    
    @Column(name = "NCXDEV", length = 1)
    private String aplicaComprobantesCanceladosCtaCte;

    @Column(name = "CONGEL", length = 1)
    private String congelaPrecio;
    
    @Column(name = "NPRCER", length = 1)
    private String permiteProductosConPrecioCero;
    @Column(name = "CNTCER",length = 1)
    private String permiteCantidadCero;
    @Column(name = "NPRDUP", length = 1)
    private String permiteProductosDuplicados;
    
    @Column(name = "CTLPEN", length = 1)
    private String verificaPendiente;   
    @Column(name = "PIDATR", length = 1)
    private String administraAtributos;    
    @Column(name = "ADEPOS", nullable = false, length = 1)
    private String administraDeposito;    
    @Column(name = "ASECTO", nullable = false, length = 1)
    private String administraSector;    
    @Column(name = "ANSERI", nullable = false, length = 1)
    private String administraSerie;    
    @Column(name = "ANDESP", nullable = false, length = 1)
    private String administraDespacho;    
    @Column(name = "AENVAS", nullable = false, length = 1)
    private String administraEnvase;    
    @Column(name = "ANOTRO", nullable = false, length = 1)
    private String administraOtros;        
    @Column(name = "AUBICA", nullable = false, length = 1)
    private String administraUbicacion;    
    @Column(name = "AESTAN", nullable = false, length = 1)
    private String administraEstantes;
    
    @Column(name = "CONBON", length = 1)
    private String congelaBonificacion;
    
    @Column(name = "MAXITM", length = 1)
    private Short cantidadMaximaDeItems;
    
    @Column(name = "CTRLPR", length = 1)
    private String controlaPrecio;
    
    @Column(name = "PREMIN", precision = 4)
    private Long precioMinimo;
    @Column(name = "PREMAX", precision = 4)
    private Long precioMaximo;
        
    @Lob
    @Column(name = "USRPRE", length = 65535)
    private String recuperacionPrecio;
    @Lob
    @Column(name = "USRBON", length = 65535)
    private String recuperaBonificacion;
 
    @Column(name = "ANUTOT", length = 1)
    private String  esAnulacionTotal;

    @Embedded
    private Auditoria auditoria;

    @OneToMany(cascade = CascadeType.ALL, mappedBy = "circuito", fetch=FetchType.LAZY)
    private List<ItemCircuitoFacturacion> itemCircuitoFacturacion;

    @OneToMany(cascade = CascadeType.ALL, mappedBy = "circuito", fetch=FetchType.LAZY)
    private List<ItemCircuitoStock> itemCircuitoStock;

    @OneToMany(cascade = CascadeType.ALL, mappedBy = "circuito", fetch=FetchType.LAZY)
    private List<ItemCircuitoVenta> itemCircuitoVenta;

    @OneToMany(cascade = CascadeType.ALL, mappedBy = "circuito", fetch=FetchType.LAZY)
    private List<ItemCircuitoTesoreria> itemCircuitoTesoreria;

    @Transient
    Comprobante comprobanteFacturacion;

    @Transient
    ComprobanteVenta comprobanteVenta;

    @Transient
    ComprobanteStock comprobanteStock;

    @Transient
    ComprobanteTesoreria comprobanteTesoreria;


    public CircuitoFacturacion() {
    }

    public CircuitoFacturacion(String circom, String cirapl) {
        this.circom = circom;
        this.cirapl = cirapl;
    }
        
    public CircuitoFacturacion(String circom, String cirapl, String Descrp, String Actzfc, String Actzst, String Actzvt, String Actzcj, char Autori, char Prctot, char Itmuni, char Antopc, char Anticp, String Compst, String Adepos, String Asecto, String Anseri, String Andesp, String Aenvas, String Anotro, String Aatrib, String Aubica, String Aestan, String Afecha) {
        this.circom = circom;
        this.cirapl = cirapl;
        this.descripcion = Descrp;
        this.actualizaFacturacion = Actzfc;
        this.actualizaStock = Actzst;
        this.actualizaVenta = Actzvt;
        this.actualizaTesoreria = Actzcj;
        this.comprometeStock = Compst;
        this.administraDeposito = Adepos;
        this.administraSector = Asecto;
        this.administraSerie = Anseri;
        this.administraDespacho = Andesp;
        this.administraEnvase = Aenvas;
        this.administraOtros = Anotro;
        this.administraAtributos = Aatrib;
        this.administraUbicacion = Aubica;
        this.administraEstantes = Aestan;
    }

    public String getCircom() {
        return circom;
    }

    public void setCircom(String circom) {
        this.circom = circom;
    }

    public String getCirapl() {
        return cirapl;
    }

    public void setCirapl(String cirapl) {
        this.cirapl = cirapl;
    }

    public CodigoCircuitoFacturacion getCircuitoComienzo() {
        return circuitoComienzo;
    }

    public void setCircuitoComienzo(CodigoCircuitoFacturacion circuitoComienzo) {
        this.circuitoComienzo = circuitoComienzo;
    }

    public CodigoCircuitoFacturacion getCircuitoAplicacion() {
        return circuitoAplicacion;
    }

    public void setCircuitoAplicacion(CodigoCircuitoFacturacion circuitoAplicacion) {
        this.circuitoAplicacion = circuitoAplicacion;
    }

    public String getDescripcion() {
        return descripcion;
    }

    public void setDescripcion(String descripcion) {
        this.descripcion = descripcion;
    }

    public String getActualizaFacturacion() {
        return actualizaFacturacion;
    }

    public void setActualizaFacturacion(String actualizaFacturacion) {
        this.actualizaFacturacion = actualizaFacturacion;
    }

    public String getActualizaStock() {
        return actualizaStock;
    }

    public void setActualizaStock(String actualizaStock) {
        this.actualizaStock = actualizaStock;
    }

    public String getActualizaVenta() {
        return actualizaVenta;
    }

    public void setActualizaVenta(String actualizaVenta) {
        this.actualizaVenta = actualizaVenta;
    }

    public String getActualizaTesoreria() {
        return actualizaTesoreria;
    }

    public void setActualizaTesoreria(String actualizaTesoreria) {
        this.actualizaTesoreria = actualizaTesoreria;
    }

    public String getEsAnulacion() {
        return esAnulacion;
    }

    public void setEsAnulacion(String esAnulacion) {
        this.esAnulacion = esAnulacion;
    }

    public String getProcesoTotal() {
        return procesoTotal;
    }

    public void setProcesoTotal(String procesoTotal) {
        this.procesoTotal = procesoTotal;
    }

    public String getProcesoTotalOpcional() {
        return procesoTotalOpcional;
    }

    public void setProcesoTotalOpcional(String procesoTotalOpcional) {
        this.procesoTotalOpcional = procesoTotalOpcional;
    }

    public String getVerificaItemsUnicoComprobante() {
        return verificaItemsUnicoComprobante;
    }

    public void setVerificaItemsUnicoComprobante(String verificaItemsUnicoComprobante) {
        this.verificaItemsUnicoComprobante = verificaItemsUnicoComprobante;
    }

    public String getComprometeStock() {
        return comprometeStock;
    }

    public void setComprometeStock(String comprometeStock) {
        this.comprometeStock = comprometeStock;
    }

    public String getAdmiteMultipleDeposito() {
        return admiteMultipleDeposito;
    }

    public void setAdmiteMultipleDeposito(String admiteMultipleDeposito) {
        this.admiteMultipleDeposito = admiteMultipleDeposito;
    }

    public String getAdmiteMultipleSector() {
        return admiteMultipleSector;
    }

    public void setAdmiteMultipleSector(String admiteMultipleSector) {
        this.admiteMultipleSector = admiteMultipleSector;
    }

    public String getReportePendienteGrupo() {
        return reportePendienteGrupo;
    }

    public void setReportePendienteGrupo(String reportePendienteGrupo) {
        this.reportePendienteGrupo = reportePendienteGrupo;
    }

    public String getReportePendienteDetalle() {
        return reportePendienteDetalle;
    }

    public void setReportePendienteDetalle(String reportePendienteDetalle) {
        this.reportePendienteDetalle = reportePendienteDetalle;
    }

    public Deposito getDepositoFijo() {
        return depositoFijo;
    }

    public void setDepositoFijo(Deposito depositoFijo) {
        this.depositoFijo = depositoFijo;
    }

    public String getControlaLimiteCredito() {
        return controlaLimiteCredito;
    }

    public void setControlaLimiteCredito(String controlaLimiteCredito) {
        this.controlaLimiteCredito = controlaLimiteCredito;
    }

    public String getAccionExcesoLimiteCrdito() {
        return accionExcesoLimiteCrdito;
    }

    public void setAccionExcesoLimiteCrdito(String accionExcesoLimiteCrdito) {
        this.accionExcesoLimiteCrdito = accionExcesoLimiteCrdito;
    }

    public TipoProducto getTipoProductoUnico() {
        return tipoProductoUnico;
    }

    public void setTipoProductoUnico(TipoProducto tipoProductoUnico) {
        this.tipoProductoUnico = tipoProductoUnico;
    }

    public Producto getProductoUnico() {
        return productoUnico;
    }

    public void setProductoUnico(Producto productoUnico) {
        this.productoUnico = productoUnico;
    }

    public String getEditaConcepto() {
        return editaConcepto;
    }

    public void setEditaConcepto(String editaConcepto) {
        this.editaConcepto = editaConcepto;
    }

    public String getEditaImporte() {
        return editaImporte;
    }

    public void setEditaImporte(String editaImporte) {
        this.editaImporte = editaImporte;
    }

    public String getEditaBonificacion() {
        return editaBonificacion;
    }

    public void setEditaBonificacion(String editaBonificacion) {
        this.editaBonificacion = editaBonificacion;
    }

    public String getEditarCantidad() {
        return editarCantidad;
    }

    public void setEditarCantidad(String editarCantidad) {
        this.editarCantidad = editarCantidad;
    }

    public String getEdifac() {
        return edifac;
    }

    public void setEdifac(String edifac) {
        this.edifac = edifac;
    }

    public String getEditaCoeficientes() {
        return editaCoeficientes;
    }

    public void setEditaCoeficientes(String editaCoeficientes) {
        this.editaCoeficientes = editaCoeficientes;
    }

    public String getEditaFormulaDeKit() {
        return editaFormulaDeKit;
    }

    public void setEditaFormulaDeKit(String editaFormulaDeKit) {
        this.editaFormulaDeKit = editaFormulaDeKit;
    }

    public String getEditaListaPrecio() {
        return editaListaPrecio;
    }

    public void setEditaListaPrecio(String editaListaPrecio) {
        this.editaListaPrecio = editaListaPrecio;
    }

    public String getEditaGrupoBonificacion() {
        return editaGrupoBonificacion;
    }

    public void setEditaGrupoBonificacion(String editaGrupoBonificacion) {
        this.editaGrupoBonificacion = editaGrupoBonificacion;
    }

    public String getEditaCondicionPago() {
        return editaCondicionPago;
    }

    public void setEditaCondicionPago(String editaCondicionPago) {
        this.editaCondicionPago = editaCondicionPago;
    }

    public String getPermiteAgregarItems() {
        return permiteAgregarItems;
    }

    public void setPermiteAgregarItems(String permiteAgregarItems) {
        this.permiteAgregarItems = permiteAgregarItems;
    }

    public String getEsPrimerPaso() {
        return esPrimerPaso;
    }

    public void setEsPrimerPaso(String esPrimerPaso) {
        this.esPrimerPaso = esPrimerPaso;
    }

    public String getEsUltimoPaso() {
        return esUltimoPaso;
    }

    public void setEsUltimoPaso(String esUltimoPaso) {
        this.esUltimoPaso = esUltimoPaso;
    }

    public String getAplicaComprobantesCanceladosCtaCte() {
        return aplicaComprobantesCanceladosCtaCte;
    }

    public void setAplicaComprobantesCanceladosCtaCte(String aplicaComprobantesCanceladosCtaCte) {
        this.aplicaComprobantesCanceladosCtaCte = aplicaComprobantesCanceladosCtaCte;
    }

    public String getCongelaPrecio() {
        return congelaPrecio;
    }

    public void setCongelaPrecio(String congelaPrecio) {
        this.congelaPrecio = congelaPrecio;
    }

    public String getPermiteProductosConPrecioCero() {
        return permiteProductosConPrecioCero;
    }

    public void setPermiteProductosConPrecioCero(String permiteProductosConPrecioCero) {
        this.permiteProductosConPrecioCero = permiteProductosConPrecioCero;
    }

    public String getPermiteCantidadCero() {
        return permiteCantidadCero;
    }

    public void setPermiteCantidadCero(String permiteCantidadCero) {
        this.permiteCantidadCero = permiteCantidadCero;
    }

    public String getPermiteProductosDuplicados() {
        return permiteProductosDuplicados;
    }

    public void setPermiteProductosDuplicados(String permiteProductosDuplicados) {
        this.permiteProductosDuplicados = permiteProductosDuplicados;
    }

    public String getVerificaPendiente() {
        return verificaPendiente;
    }

    public void setVerificaPendiente(String verificaPendiente) {
        this.verificaPendiente = verificaPendiente;
    }

    public String getAdministraAtributos() {
        return administraAtributos;
    }

    public String getNoCancelaPendiente() {
        return noCancelaPendiente;
    }

    public void setNoCancelaPendiente(String noCancelaPendiente) {
        this.noCancelaPendiente = noCancelaPendiente;
    }

    public String getAdministraDeposito() {
        return administraDeposito;
    }

    public void setAdministraDeposito(String administraDeposito) {
        this.administraDeposito = administraDeposito;
    }

    public String getAdministraSector() {
        return administraSector;
    }

    public void setAdministraSector(String administraSector) {
        this.administraSector = administraSector;
    }

    public String getAdministraSerie() {
        return administraSerie;
    }

    public void setAdministraSerie(String administraSerie) {
        this.administraSerie = administraSerie;
    }

    public String getAdministraDespacho() {
        return administraDespacho;
    }

    public void setAdministraDespacho(String administraDespacho) {
        this.administraDespacho = administraDespacho;
    }

    public String getAdministraEnvase() {
        return administraEnvase;
    }

    public void setAdministraEnvase(String administraEnvase) {
        this.administraEnvase = administraEnvase;
    }

    public String getAdministraOtros() {
        return administraOtros;
    }

    public void setAdministraOtros(String administraOtros) {
        this.administraOtros = administraOtros;
    }

    public String getAdministraUbicacion() {
        return administraUbicacion;
    }

    public void setAdministraUbicacion(String administraUbicacion) {
        this.administraUbicacion = administraUbicacion;
    }

    public String getAdministraEstantes() {
        return administraEstantes;
    }

    public void setAdministraEstantes(String administraEstantes) {
        this.administraEstantes = administraEstantes;
    }

    public String getCongelaBonificacion() {
        return congelaBonificacion;
    }

    public void setCongelaBonificacion(String congelaBonificacion) {
        this.congelaBonificacion = congelaBonificacion;
    }

    public Short getCantidadMaximaDeItems() {
        return cantidadMaximaDeItems;
    }

    public void setCantidadMaximaDeItems(Short cantidadMaximaDeItems) {
        this.cantidadMaximaDeItems = cantidadMaximaDeItems;
    }

    public String getControlaPrecio() {
        return controlaPrecio;
    }

    public void setControlaPrecio(String controlaPrecio) {
        this.controlaPrecio = controlaPrecio;
    }

    public Long getPrecioMinimo() {
        return precioMinimo;
    }

    public void setPrecioMinimo(Long precioMinimo) {
        this.precioMinimo = precioMinimo;
    }

    public Long getPrecioMaximo() {
        return precioMaximo;
    }

    public void setPrecioMaximo(Long precioMaximo) {
        this.precioMaximo = precioMaximo;
    }

    public String getRecuperacionPrecio() {
        return recuperacionPrecio;
    }

    public void setRecuperacionPrecio(String recuperacionPrecio) {
        this.recuperacionPrecio = recuperacionPrecio;
    }

    public String getRecuperaBonificacion() {
        return recuperaBonificacion;
    }

    public void setRecuperaBonificacion(String recuperaBonificacion) {
        this.recuperaBonificacion = recuperaBonificacion;
    }

    public String getEsAnulacionTotal() {
        return esAnulacionTotal;
    }

    public void setEsAnulacionTotal(String esAnulacionTotal) {
        this.esAnulacionTotal = esAnulacionTotal;
    }

    public Auditoria getAuditoria() {
        return auditoria;
    }

    public void setAuditoria(Auditoria auditoria) {
        this.auditoria = auditoria;
    }

    public List<ItemCircuitoFacturacion> getItemCircuitoFacturacion() {
        return itemCircuitoFacturacion;
    }

    public void setItemCircuitoFacturacion(List<ItemCircuitoFacturacion> itemCircuitoFacturacion) {
        this.itemCircuitoFacturacion = itemCircuitoFacturacion;
    }

    public List<ItemCircuitoStock> getItemCircuitoStock() {
        return itemCircuitoStock;
    }

    public void setItemCircuitoStock(List<ItemCircuitoStock> itemCircuitoStock) {
        this.itemCircuitoStock = itemCircuitoStock;
    }

    public List<ItemCircuitoVenta> getItemCircuitoVenta() {
        return itemCircuitoVenta;
    }

    public void setItemCircuitoVenta(List<ItemCircuitoVenta> itemCircuitoVenta) {
        this.itemCircuitoVenta = itemCircuitoVenta;
    }

    public List<ItemCircuitoTesoreria> getItemCircuitoTesoreria() {
        return itemCircuitoTesoreria;
    }

    public void setItemCircuitoTesoreria(List<ItemCircuitoTesoreria> itemCircuitoTesoreria) {
        this.itemCircuitoTesoreria = itemCircuitoTesoreria;
    }

    public Comprobante getComprobanteFacturacion() {
        return comprobanteFacturacion;
    }

    public void setComprobanteFacturacion(Comprobante comprobanteFacturacion) {
        this.comprobanteFacturacion = comprobanteFacturacion;
    }

    public ComprobanteVenta getComprobanteVenta() {
        return comprobanteVenta;
    }

    public void setComprobanteVenta(ComprobanteVenta comprobanteVenta) {
        this.comprobanteVenta = comprobanteVenta;
    }

    public ComprobanteStock getComprobanteStock() {
        return comprobanteStock;
    }

    public void setComprobanteStock(ComprobanteStock comprobanteStock) {
        this.comprobanteStock = comprobanteStock;
    }

    public ComprobanteTesoreria getComprobanteTesoreria() {
        return comprobanteTesoreria;
    }

    public void setComprobanteTesoreria(ComprobanteTesoreria comprobanteTesoreria) {
        this.comprobanteTesoreria = comprobanteTesoreria;
    }

    public void setAdministraAtributos(String administraAtributos) {
        this.administraAtributos = administraAtributos;
    }
    
    @Override
    public int hashCode() {
        int hash = 7;
        hash = 37 * hash + (this.circom != null ? this.circom.hashCode() : 0);
        hash = 37 * hash + (this.cirapl != null ? this.cirapl.hashCode() : 0);
        return hash;
    }

    @Override
    public boolean equals(Object obj) {
        if (obj == null) {
            return false;
        }
        if (getClass() != obj.getClass()) {
            return false;
        }
        final CircuitoFacturacion other = (CircuitoFacturacion) obj;
        if ((this.circom == null) ? (other.circom != null) : !this.circom.equals(other.circom)) {
            return false;
        }
        if ((this.cirapl == null) ? (other.cirapl != null) : !this.cirapl.equals(other.cirapl)) {
            return false;
        }
        return true;
    }
    
    
    

    @Override
    public String toString() {
        return "isd.facturacion.modelo.FC_Circuito[circom=" + circom + " cirapl="+cirapl+" ]";
    }

}
